The language syntax consists of the following commands:

setchar c - sets the value in the current cell to c
walk n - go to n cells
change v - change the value in the current cell to v (integer)
mov n - move the value of the current cell to n cells
copy n t - copy the value of the current cell to the cell located n cells from the current
using a buffer located across t cells from the current
print n - print cell values ​​from the current to the next through n cells
split v - split string v into characters and distribute them in the following cells
alias name value - create an alias with the name 'name' and the value 'value'
$name - get the value from the alias name
pointer name n - create a pointer to cell n
&name = c - set the value of the cell at address name to 'c'
&name clear - clear cell at address name
&name add v - increase the value in the cell at the address name by v
&name sub v - decrease the value in the cell at the address name by v
array name n l - create a pointer to cells from n to n + l
@name n = c - set the value of the cell at the address name[n] to 'c'
@name n clear - clear cell at name[n]
@name n add v - increase the value in the cell at the address name[n] by v
@name n sub v - decrease the value in the cell at the address name[n] by v
putchar - output a character from the current cell
read - read one character from standard input
reads n - read characters from standard input and distribute them in cells from the current to the next through n cells
sum * a * b * c - add the values of cells a and b, and add the result to cell c (in theory, you can use this
function in the form of sum * a * b * a, but I'm not sure if this will work)
sub * a * b * c - similar to sum, but here subtraction
* a - access to the pointer
# - comment

A program consists of calls to certain commands with their arguments. Between them should be separators:
'(', ')', ',', ' ', and ';'. They can be used to improve code readability.
For example:
split "Hello world!\n";
equals to
split("Hello world!\n")

Please note that there are no name conflicts between pointers and aliases, as they
stored differently

eg:
alias hw "Hello, World!"; # Create hw alias
pointer hw 1; # Create hw pointer
split $ hw; # Split the string stored in PSEUDONYM hw
& hw = c; # Set the value of 'c' to the cell BY ADDRESS hw